ãã¯ãã«ããŒã¿ããŒã¹ã«ãããåå®å šæ§ã®éèŠãªåœ¹å²ãæ€èšŒããAIã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãšããã©ãŒãã³ã¹ãåäžãããããã®åã蟌ã¿ã¹ãã¬ãŒãžåå®è£ ã«çŠç¹ãåœãŠãŸãã
åå®å šãªãã¯ãã«ããŒã¿ããŒã¹ïŒåå®è£ ã«ããåã蟌ã¿ã¹ãã¬ãŒãžã®é©æ°
人工ç¥èœïŒAIïŒã𿩿¢°åŠç¿ïŒMLïŒã®æ¥éãªé²æ©ã¯ã髿¬¡å ããŒã¿ãæ±ãããã«èšèšãããç¹æ®ãªããŒã¿ããŒã¹ã®éçºãæšé²ããŠããŸãããäž»ã«åã蟌ã¿ã®åœ¢åŒã§ãããã¯ãã«ããŒã¿ããŒã¹ã¯ãã»ãã³ãã£ãã¯æ€çŽ¢ãã¬ã³ã¡ã³ããŒã·ã§ã³ãšã³ãžã³ããç°åžžæ€åºãçæAIãŸã§ãå¹ åºãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠäžå¯æ¬ ãªãã¯ãããžãŒãšããŠç»å ŽããŸããããã ãããããã®ã·ã¹ãã ã®è€éããšæ¡çšãé²ãã«ã€ããŠãä¿åããããŒã¿ã®æŽåæ§ãšä¿¡é Œæ§ã確ä¿ããããšãæãéèŠã«ãªããŸãããããããã¯ãã«ããŒã¿ããŒã¹ã«ãããåå®å šæ§ã®æŠå¿µãç¹ã«åã蟌ã¿ã¹ãã¬ãŒãžã®å®è£ ã«ãããŠéèŠãªåœ¹å²ãæããçç±ã§ãã
åŸæ¥ã®ããŒã¿ããŒã¹ã¯ãå³å¯ãªã¹ããŒããšããŒã¿åã匷å¶ããã³ã³ãã€ã«æãŸãã¯å®è¡æã«å€ãã®äžè¬çãªãšã©ãŒãé²ããŸããå¯Ÿç §çã«ã倿§ãªMLã¢ãã«ãšããŸããŸãªåºåãã£ã¡ã³ã·ã§ã³ãå«ãåã蟌ã¿çæã®åçãªæ§è³ªã¯ãæŽå²çã«ããã¯ãã«ããŒã¿ããŒã¹ã§ã®ã¹ãã¬ãŒãžã«å¯Ÿããããæè»ã§ãæã«ã¯å ç¢æ§ã®äœãã¢ãããŒãã«ã€ãªãã£ãŠããŸããããã®ããã°æçš¿ã§ã¯ãåå®å šãªãã¯ãã«ããŒã¿ããŒã¹ã®æŠå¿µãæãäžããåã蟌ã¿ã¹ãã¬ãŒãžåå®è£ ã®ãã¥ã¢ã³ã¹ããã®å©ç¹ã課é¡ãããã³AIã€ã³ãã©ã¹ãã©ã¯ãã£ã«ããããã®éèŠãªåéã®å°æ¥ã®è»è·¡ãæ¢ããŸãã
åã蟌ã¿ãšãã¯ãã«ããŒã¿ããŒã¹ã®çè§£
åå®å šæ§ãæãäžããåã«ãåã蟌ã¿ãšãã¯ãã«ããŒã¿ããŒã¹ã®åºæ¬çãªæŠå¿µãææ¡ããããšãéèŠã§ãã
åã蟌ã¿ãšã¯äœã§ããïŒ
åã蟌ã¿ã¯ãããã¹ããç»åããªãŒãã£ãªããŸãã¯ãã®ä»ã®æ å ±ãªã©ã®ããŒã¿ãã髿¬¡å ãã¯ãã«ç©ºéå ã®æ°å€è¡šçŸã§è¡šãããã®ã§ãããããã®ãã¯ãã«ã¯ãå ã®ããŒã¿ã®ã»ãã³ãã£ãã¯ãªæå³ãšé¢ä¿ãæããŸããããšãã°ãèªç¶èšèªåŠçïŒNLPïŒã§ã¯ãåæ§ã®æå³ãæã€åèªãŸãã¯æã¯ãåã蟌ã¿ç©ºéã§äºãã«è¿ããã¯ãã«ã§è¡šãããŸãããã®å€æã¯éåžžãWord2VecãGloVeãBERTããŸãã¯ããé«åºŠãªãã©ã³ã¹ãã©ãŒããŒã¢ãã«ãªã©ã®æ©æ¢°åŠç¿ã¢ãã«ã«ãã£ãŠå®è¡ãããŸãã
åã蟌ã¿ãçæããããã»ã¹ã¯ãå€ãã®å Žåå埩çã§ãããæ¬¡ã®ãã®ãå«ãŸããå ŽåããããŸãã
- ã¢ãã«ã®éžæïŒããŒã¿åãšå¿ èŠãªã»ãã³ãã£ãã¯è¡šçŸã«åºã¥ããŠãé©åãªMLã¢ãã«ãéžæããŸãã
- ãã¬ãŒãã³ã°ãŸãã¯æšè«ïŒæ°ããã¢ãã«ããã¬ãŒãã³ã°ããããäºåãã¬ãŒãã³ã°æžã¿ã®ã¢ãã«ã䜿çšããŠåã蟌ã¿ãçæããŸãã
- 次å ïŒåºåãã¯ãã«ã®æ¬¡å ã¯ãã¢ãã«ã«ãã£ãŠå€§å¹ ã«ç°ãªãå ŽåããããŸãïŒäŸïŒ768ã1024ã1536ããŸãã¯ãã以äžïŒã
- ããŒã¿ã®ååŠçïŒéžæããåã蟌ã¿ã¢ãã«ã«åãããŠãå ¥åããŒã¿ãæ£ãããã©ãŒããããããŠããããšã確èªããŸãã
ãã¯ãã«ããŒã¿ããŒã¹ãšã¯äœã§ããïŒ
ãã¯ãã«ããŒã¿ããŒã¹ã¯ã髿¬¡å ãã¯ãã«ããŒã¿ã®ä¿åãã€ã³ããã¯ã¹äœæãããã³ã¯ãšãªçšã«æé©åãããç¹æ®ãªããŒã¿ããŒã¹ã§ããå³å¯ãªäžèŽãŸãã¯ç¯å²ã¯ãšãªã«åºã¥ãæ§é åããŒã¿ã¯ãšãªã«åªããŠããåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšã¯ç°ãªãããã¯ãã«ããŒã¿ããŒã¹ã¯é¡äŒŒåºŠæ€çŽ¢çšã«èšèšãããŠããŸããããã¯ãç¹å®ã®ã¯ãšãªãã¯ãã«ã«æãé¡äŒŒããŠãããã¯ãã«ãå¹ççã«èŠã€ããããšãã§ããããšãæå³ããŸãã
ãã¯ãã«ããŒã¿ããŒã¹ã®äž»ãªæ©èœã¯æ¬¡ã®ãšããã§ãã
- 髿¬¡å ã€ã³ããã¯ã¹äœæïŒé¡äŒŒåºŠæ€çŽ¢ãé«éåããããã«ãAnnoyãNMSLIBãScaNNãHNSWïŒéå±€åããã²ãŒãå¯èœãªã¹ã¢ãŒã«ã¯ãŒã«ãïŒãIVFïŒè»¢çœ®ãã¡ã€ã«ã€ã³ããã¯ã¹ïŒãªã©ã®å¹ççãªã€ã³ããã¯ã¹äœæã¢ã«ãŽãªãºã ãå®è£ ããŸãã
- ãã¯ãã«ã¹ãã¬ãŒãžïŒé¢é£ããã¡ã¿ããŒã¿ãå«ãæ°çŸäžãŸãã¯æ°ååã®ãã¯ãã«ãä¿åããŸãã
- é¡äŒŒåºŠã¡ããªãã¯ïŒã³ãµã€ã³é¡äŒŒåºŠããŠãŒã¯ãªããè·é¢ããããç©ãªã©ããã¯ãã«é¡äŒŒåºŠã枬å®ããããã®ããŸããŸãªè·é¢ã¡ããªãã¯ããµããŒãããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒå€§éã®ããŒã¿ãšé«ãã¯ãšãªè² è·ãåŠçããããã«èšèšãããŠããŸãã
åã蟌ã¿ã¹ãã¬ãŒãžã¿ã€ãã®èª²é¡
åã蟌ã¿çæã«åºæã®æè»æ§ã¯åŒ·åã§ããããããã®ãã¯ãã«ãããŒã¿ããŒã¹å ã§ã©ã®ããã«ä¿åããã³ç®¡çããããã«å€§ããªèª²é¡ããããããŸããäž»ãªæžå¿µäºé ã¯ãä¿åãããŠããåã蟌ã¿ã®ã¿ã€ããšäžè²«æ§ã«é¢ä¿ããŠããŸãã
åã蟌ã¿ããããã£ã®å€åæ§
ããã€ãã®èŠå ãåã蟌ã¿ããŒã¿ã®å€åæ§ã«å¯äžããŠããŸãã
- 次å ã®äžäžèŽïŒç°ãªãåã蟌ã¿ã¢ãã«ã¯ãç°ãªã次å ã®ãã¯ãã«ãçæããŸããåãã³ã¬ã¯ã·ã§ã³ãŸãã¯ã€ã³ããã¯ã¹å ã«ç°ãªã次å ã®ãã¯ãã«ãä¿åãããšããšã©ãŒãããã©ãŒãã³ã¹ã®äœäžã«ã€ãªããå¯èœæ§ããããŸãã768次å ã®ãã¯ãã«ãæ³å®ããŠããã·ã¹ãã ã¯ãæç€ºçãªåŠçãªãã«1024次å ã®ãã¯ãã«ãæ£ããåŠçã§ããŸããã
- ããŒã¿åã®ç²ŸåºŠïŒåã蟌ã¿ã¯éåžžãæµ®åå°æ°ç¹æ°ã§ãããã ãã粟床ïŒäŸïŒ32ãããæµ®åå°æ°ç¹æ°å¯Ÿ64ãããæµ®åå°æ°ç¹æ°ïŒã¯ç°ãªãå ŽåããããŸããé¡äŒŒåºŠèšç®ã§ã¯å€ãã®å Žåç¡èŠã§ããŸãããäžæŽåãçºçããå¯èœæ§ããããäžéšã®ã¢ãã«ã¯ç²ŸåºŠã®éãã«ææã«ãªãå¯èœæ§ããããŸãã
- æ£èŠåïŒäžéšã®åã蟌ã¿ã¢ã«ãŽãªãºã ã¯æ£èŠåããããã¯ãã«ãçæããŸãããä»ã®ã¢ã«ãŽãªãºã ã¯çæããŸãããæ··åãããæ£èŠåããããã¯ãã«ãšéæ£èŠåããããã¯ãã«ãä¿åãããšãéžæããã¡ããªãã¯ãæ£èŠåãæ³å®ããŠããå ŽåïŒããšãã°ãã³ãµã€ã³é¡äŒŒåºŠã¯æ£èŠåããããã¯ãã«ã«ããé©çšãããŸãïŒãäžæ£ç¢ºãªé¡äŒŒåºŠèšç®ã«ã€ãªããå¯èœæ§ããããŸãã
- ããŒã¿ã®ç ŽæïŒå€§èŠæš¡ãªåæ£ã·ã¹ãã ã§ã¯ãããŒã¿ã®éä¿¡ãŸãã¯ä¿åäžã«ããŒã¿ãç Žæããç¡å¹ãªæ°å€ãŸãã¯äžå®å šãªãã¯ãã«ã«ã€ãªããå¯èœæ§ããããŸãã
- ã¢ãã«ã®æŽæ°ïŒMLã¢ãã«ãé²åããã«ã€ããŠãæ°ããããŒãžã§ã³ãå±éãããå¯èœæ§ããããç°ãªãç¹æ§ïŒããšãã°ã次å ãŸãã¯ãããã«ç°ãªãåºç€ãšãªãååžïŒãæã€åã蟌ã¿ãçæãããå¯èœæ§ããããŸãã
管çãããŠããªãã¿ã€ãã®çµæ
é©åãªã¿ã€ã管çããªãå Žåããã¯ãã«ããŒã¿ããŒã¹ã¯æ¬¡ã®åœ±é¿ãåããå¯èœæ§ããããŸãã
- ã©ã³ã¿ã€ã ãšã©ãŒïŒäºæããªãããŒã¿åãŸãã¯æ¬¡å ãåå ã§æäœã倱æããŸãã
- äžæ£ç¢ºãªæ€çŽ¢çµæïŒäžè²«æ§ã®ãªããã¯ãã«ããããã£ãåå ã§ãé¡äŒŒåºŠèšç®ã«æ¬ é¥ãçããŸãã
- ããã©ãŒãã³ã¹ã®ããã«ããã¯ïŒããŒã¿ã®ç°è³ªæ§ãåŠçãããªãå Žåãéå¹ççãªã€ã³ããã¯ã¹äœæãšæ€çŽ¢ã
- ããŒã¿ã®æŽåæ§ã®åé¡ïŒç ŽæããããŸãã¯ç¡å¹ãªåã蟌ã¿ã«ãããAIã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãæãªãããŸãã
- éçºãªãŒããŒãããã®å¢å ïŒéçºè ã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ã€ã€ãŒã§è€éãªã«ã¹ã¿ã æ€èšŒããã³å€æããžãã¯ãå®è£ ããå¿ èŠããããŸãã
åå®å šãªãã¯ãã«ããŒã¿ããŒã¹ã®çŽæ
ããã°ã©ãã³ã°èšèªããåçšããæŠå¿µã§ããåå®å šæ§ã¯ãåãšã©ãŒãé²ãããã®ããŒã¿åå¶çŽã®é©çšãæããŸãããã¯ãã«ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ãåå®å šæ§ã¯ãåã蟌ã¿ãšãã®é¢é£ã¡ã¿ããŒã¿ã«å¯ŸããŠæç¢ºã§äºæž¬å¯èœã§åŒ·å¶ãããåã確ç«ããããšãç®çãšããŠãããããã«ãã£ãŠããŒã¿æŽåæ§ãä¿¡é Œæ§ãããã³éçºè ã®ãšã¯ã¹ããªãšã³ã¹ãåäžãããŸãã
ãã¯ãã«ããŒã¿ããŒã¹ã«ãããåå®å šæ§ãæ§æãããã®
ãã¯ãã«ããŒã¿ããŒã¹ã«åå®å šæ§ãå®è£ ããã«ã¯ãä¿åãããŠãããã¯ãã«ã®ããããã£ãå®çŸ©ããŠé©çšããå¿ èŠããããŸããããã«ã¯éåžžãæ¬¡ã®ãã®ãå«ãŸããŸãã
- åã蟌ã¿ã®ã¹ããŒãå®çŸ©ïŒãŠãŒã¶ãŒãã³ã¬ã¯ã·ã§ã³ãŸãã¯ã€ã³ããã¯ã¹å ã§åã蟌ã¿ãã¯ãã«ã®äºæ³ãããããããã£ãæç€ºçã«å®çŸ©ã§ããããã«ããŸãããã®ã¹ããŒãã«ã¯ãçæ³çã«ã¯æ¬¡ã®ãã®ãå«ãŸããŸãã
- 次å ïŒæ¬¡å æ°ã衚ãåºå®æŽæ°ã
- ããŒã¿åïŒæ°å€åã®æå®ïŒäŸïŒfloat32ãfloat64ïŒã
- æ£èŠåã¹ããŒã¿ã¹ïŒãã¯ãã«ãæ£èŠåããããã©ããã瀺ãããŒã«å€ã
åå®å šãªåã蟌ã¿ã¹ãã¬ãŒãžã®å©ç¹
åã蟌ã¿ã¹ãã¬ãŒãžã«åå®å šãªãã©ã¯ãã£ã¹ãæ¡çšãããšã倧ããªã¡ãªãããåŸãããŸãã
- ããŒã¿æŽåæ§ã®åäžïŒå³å¯ãªåå¶çŽã匷å¶ããããšã«ãããåå®å šãªããŒã¿ããŒã¹ã¯ãç¡å¹ãŸãã¯äžæ£ãªåœ¢åŒã®åã蟌ã¿ãã·ã¹ãã ã«å ¥ãã®ãé²ããŸããããã¯ãAIã¢ãã«ãšãã®åºåã®ç²ŸåºŠãšä¿¡é Œæ§ãç¶æããããã«äžå¯æ¬ ã§ãã
- ä¿¡é Œæ§ãšå®å®æ§ã®åäžïŒåé¢é£ã®ã©ã³ã¿ã€ã ãšã©ãŒãæé€ãããšãããå®å®ããäºæž¬å¯èœãªã¢ããªã±ãŒã·ã§ã³ã®åäœã«ã€ãªãããŸããéçºè ã¯ãããŒã¿ãäžè²«ããŠãããæäœãæåããããšããã確信ã§ããŸãã
- éçºãšãããã°ã®ç°¡çŽ åïŒéçºè ã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§åºç¯ãªã«ã¹ã¿ã æ€èšŒããžãã¯ãå®è£ ããå¿ èŠããªããªããŸãããããŒã¿ããŒã¹ã¯åãã§ãã¯ãåŠçãããã€ã©ãŒãã¬ãŒãã³ãŒããšãã°ã®å¯èœæ§ãæžãããŸããå€ãã®å Žåãåé¡ã¯ããŒã¿ããŒã¹ã®å匷å¶ã¡ã«ããºã ã«ãã£ãŠæ©æã«ãã£ãããããããããããã°ã容æã«ãªããŸãã
- ããã©ãŒãã³ã¹ã®æé©åïŒããŒã¿ããŒã¹ããã¯ãã«ã®æ£ç¢ºãªããããã£ïŒããšãã°ãåºå®æ¬¡å ãããŒã¿åïŒãèªèããŠããå Žåãããã¿ãŒã²ãããçµã£ãå¹ççãªã€ã³ããã¯ã¹äœææŠç¥ãé©çšã§ããŸããããšãã°ã768次å ã®float32ãã¯ãã«ã®å Žåãç¹æ®ãªã€ã³ããã¯ã¹æ§é ãŸãã¯ããŒã¿ã¬ã€ã¢ãŠãã䜿çšããŠãæ€çŽ¢ãšåã蟌ã¿ãé«éåã§ããŸãã
- ã¹ãã¬ãŒãžãªãŒããŒãããã®åæžïŒåãæç€ºçã«å®çŸ©ãããšãããå¹ççãªã¹ãã¬ãŒãžãå¯èœã«ãªãå ŽåããããŸããããšãã°ããã¹ãŠã®ãã¯ãã«ãfloat32ã®å ŽåãããŒã¿ããŒã¹ã¯float32ãšfloat64ã®æ··åšã«å¯Ÿå¿ããå¿ èŠãããå Žåãããæ£ç¢ºã«ã¡ã¢ãªãå²ãåœãŠãããšãã§ããŸãã
- äºæž¬å¯èœãªé¡äŒŒåºŠèšç®ïŒäžè²«ãããã¯ãã«ããããã£ïŒæ£èŠåãªã©ïŒãä¿èšŒããããšã§ãé¡äŒŒåºŠã¡ããªãã¯ããã¹ãŠã®ã¯ãšãªãšããŒã¿ãã€ã³ãã§æ£ããäžè²«ããŠé©çšãããããšãä¿èšŒãããŸãã
- çžäºéçšæ§ã®åäžïŒæç¢ºã«å®çŸ©ãããã¿ã€ãã䜿çšãããšãç°ãªãã¢ãã«ãŸãã¯ã·ã¹ãã ããã®åã蟌ã¿ã®çµ±åããã管çãããããªããŸãããã ãã倿ãå®è¡ããŠã¿ãŒã²ããã¹ããŒãã«äžèŽãããããšãã§ããããšãæ¡ä»¶ãšãªããŸãã
åå®å šæ§ã®å®è£ ïŒæŠç¥ãšèæ ®äºé
ãã¯ãã«ããŒã¿ããŒã¹ã§åå®å šæ§ãå®çŸããã«ã¯ãæ éãªèšèšãšå®è£ ãå¿ èŠã§ããäž»ãªæŠç¥ãšèæ ®äºé ãæ¬¡ã«ç€ºããŸãã
1. ã¹ããŒãå®çŸ©ãšåŒ·å¶
ããã¯åå®å šæ§ã®åºç€ã§ããããŒã¿ããŒã¹ã¯ããŠãŒã¶ãŒããã¯ãã«ã³ã¬ã¯ã·ã§ã³ã®ã¹ããŒããå®çŸ©ããã¡ã«ããºã ãæäŸããå¿ èŠããããŸãã
ã¹ããŒãèŠçŽ ïŒ
dimensionsïŒæŽæ°ïŒïŒãã¯ãã«ã®æ£ç¢ºãªèŠçŽ æ°ãdtypeïŒenum/stringïŒïŒãã¯ãã«èŠçŽ ã®åºæ¬çãªããŒã¿åïŒäŸïŒfloat32ãfloat64ãint8ïŒãfloat32ã¯ã粟床ãšã¡ã¢ãªå¹çã®ãã©ã³ã¹ãåããŠãããããæãäžè¬çã§ããnormalizationïŒbooleanãoptionalïŒïŒãã¯ãã«ãæ£èŠåããããã©ããã瀺ããŸãïŒäŸïŒåäœé·ãŸã§ïŒãããã¯trueãfalseããŸãã¯ããŒã¿ããŒã¹ãäž¡æ¹ãæšæž¬ãŸãã¯åŠçã§ããå Žåã¯autoã«ãªãå ŽåããããŸãã
ã¹ããŒãå®çŸ©ã®äŸïŒæŠå¿µçïŒïŒ
éåžž768次å ã®float32ãã¯ãã«ãçæããBERTã®ãããªäžè¬çãªNLPã¢ãã«ããããã¹ãåã蟌ã¿ãä¿åããŠããã·ããªãªãèããŠã¿ãŸããããã¹ããŒãå®çŸ©ã¯æ¬¡ã®ããã«ãªããŸãã
{
"collection_name": "document_embeddings",
"vector_config": {
"dimensions": 768,
"dtype": "float32",
"normalization": true
},
"metadata_schema": {
"document_id": "string",
"timestamp": "datetime"
}
}
åã蟌ã¿ã®æ€èšŒïŒ
ããŒã¿ãåã蟌ãŸãããšãïŒ
- ããŒã¿ããŒã¹ã¯ãåä¿¡ãã¯ãã«ã®æ¬¡å
ã
vector_config.dimensionsãšæ¯èŒããŠç¢ºèªããŸãã vector_config.dtypeã«å¯ŸããŠãã¯ãã«èŠçŽ ã®ããŒã¿åã確èªããŸããvector_config.normalizationãtrueã«èšå®ãããŠããå ŽåãããŒã¿ããŒã¹ã¯åä¿¡ãã¯ãã«ãäºåã«æ£èŠåãããŠããããæ£èŠåèªäœãå®è¡ããããšãèŠæ±ããå ŽåããããŸããéã«ãfalseã«èšå®ãããŠããå Žåã¯ãäºåã«æ£èŠåããããã¯ãã«ãèŠåãŸãã¯æåŠããå ŽåããããŸãã
2. ããŒã¿åã®éžæãšãã¬ãŒããªã
åã蟌ã¿ã®ããŒã¿åã®éžæã¯ã倧ããªåœ±é¿ãäžããŸãã
float32ïŒå粟床浮åå°æ°ç¹ïŒïŒ- é·æïŒç²ŸåºŠãšã¡ã¢ãªãããããªã³ãã®ãã©ã³ã¹ãåããŠããŸããããŒããŠã§ã¢ïŒGPUãCPUïŒããã³MLã©ã€ãã©ãªã§åºããµããŒããããŠããŸããã»ãšãã©ã®é¡äŒŒåºŠæ€çŽ¢ã¿ã¹ã¯ã«ååã§ãã
- çæïŒ
float64ããã粟床ãäœãã§ããè€éãªèšç®ã§äžžã誀差ã®åœ±é¿ãåãããããªããŸãã
float64ïŒå粟床浮åå°æ°ç¹ïŒïŒ- é·æïŒç²ŸåºŠãé«ããäžžã誀差ã®åœ±é¿ã軜æžããŸãã
- çæïŒ
float32ãšæ¯èŒããŠã2åã®ã¡ã¢ãªãšåŠçèœåãå¿ èŠã§ããããã©ãŒãã³ã¹ãäœäžããã³ã¹ããé«ããªãå¯èœæ§ããããŸããã»ãšãã©ã®åã蟌ã¿ã¢ãã«ã®äž»èŠãªåºåãšããŠã¯äžè¬çã§ã¯ãããŸããã
- éååïŒäŸïŒ
int8ãfloat16ïŒïŒ- é·æïŒã¡ã¢ãªäœ¿çšéãå€§å¹ ã«åæžããç¹ã«ç¹æ®ãªãµããŒããåããããŒããŠã§ã¢ã§ã®æ€çŽ¢ãé«éåã§ããŸãã
- çæïŒç²ŸåºŠã®äœäžãæ€çŽ¢ç²ŸåºŠã«åœ±é¿ãäžããå¯èœæ§ããããŸããæ éãªãã£ãªãã¬ãŒã·ã§ã³ãšå€ãã®å Žåãç¹å®ã®ã€ã³ããã¯ã¹äœæææ³ãå¿ èŠã§ããããã§ã®åå®å šæ§ã¯ãéååãããåãå³å¯ã«åŒ·å¶ããããšãæå³ããŸãã
æšå¥šäºé
ïŒã»ãšãã©ã®æ±çšãã¯ãã«ããŒã¿ããŒã¹ã§ã¯ãfloat32ãæšæºããã³æšå¥šãããdtypeã§ããåå®å
šæ§ã«ãããã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ãã¯ãã«ãããã«æºæ ãã粟床ã®èª€ã£ãæ··åãé²ããŸãã
3. 次å ã®äžäžèŽã®åŠç
ããã¯ãåã蟌ã¿ã®åå®å šæ§ã®äžã§æãéèŠãªåŽé¢ãããããŸãããå ç¢ãªã·ã¹ãã ã¯ãã³ã¬ã¯ã·ã§ã³ãç°ãªãé·ãã®ãã¯ãã«ãä¿åããã®ãé²ãå¿ èŠããããŸãã
æŠç¥ïŒ
- å³å¯ãªåŒ·å¶ïŒã³ã¬ã¯ã·ã§ã³ã®ã¹ããŒããšäžèŽããªã次å ãæã€ãã¯ãã«ãæåŠããŸãããããåå®å šæ§ã®æãçŽç²ãªåœ¢åŒã§ãã
- èªå倿/ããã£ã³ã°ïŒæ³šæããŠïŒïŒããŒã¿ããŒã¹ã¯ãçããã¯ãã«ãããã£ã³ã°ããããé·ããã¯ãã«ãåãæšãŠããããããšããå¯èœæ§ããããŸãããã ããããã¯åã蟌ã¿ã®ã»ãã³ãã£ãã¯ãªæå³ãæ ¹æ¬çã«å€æŽãããã³ã»ã³ã¹ãªæ€çŽ¢çµæã«ã€ãªããå¯èœæ§ããããããäžè¬çã«ã¯ãå§ãã§ããŸãããããã¯ãåã蟌ã¿*åã«*ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§åŠçããã®ãçæ³çã§ãã
- è€æ°ã®ã³ã¬ã¯ã·ã§ã³ïŒç°ãªãåã蟌ã¿ã¢ãã«ãæ±ãå Žåãæšå¥šãããã¢ãããŒãã¯ã次å ã®ã¹ããŒããå®çŸ©ããç¬èªã®ã³ã¬ã¯ã·ã§ã³ãåå¥ã«äœæããããšã§ããããšãã°ãBERTåã蟌ã¿ïŒ768DïŒçšã®ã³ã¬ã¯ã·ã§ã³ãšãCLIPåã蟌ã¿ïŒ512DïŒçšã®ã³ã¬ã¯ã·ã§ã³ã§ãã
4. æ£èŠå管ç
normalizationããããã£ã¯ãç¹å®ã®é¡äŒŒåºŠã¡ããªãã¯ã«äžå¯æ¬ ã§ãã
- ã³ãµã€ã³é¡äŒŒåºŠïŒéåžžãæ£èŠåããããã¯ãã«ã§åäœããŸããããŒã¿ããŒã¹ã¹ããŒãã
normalization: trueã瀺ããŠããå Žåã¯ããã¹ãŠã®ãã¯ãã«ãå®éã«æ£èŠåãããŠããããšãéèŠã§ãã - ããŒã¿ããŒã¹ã®è²¬ä»»ïŒåå®å
šãªããŒã¿ããŒã¹ã¯ã次ã®ãªãã·ã§ã³ãæäŸã§ããŸãã
require_normalizedïŒããŒã¿ããŒã¹ã¯ããã§ã«æ£èŠåãããŠãããã¯ãã«ã®ã¿ãåãå ¥ããŸããauto_normalize_on_ingestïŒããŒã¿ããŒã¹ã¯ããŸã æ£èŠåãããŠããªãåä¿¡ãã¯ãã«ãèªåçã«æ£èŠåããŸããããã¯äŸ¿å©ã§ãããããããªèšç®ãªãŒããŒãããã远å ãããŸããdisallow_normalizedïŒããŒã¿ããŒã¹ã¯ããã§ã«æ£èŠåãããŠãããã¯ãã«ãæåŠããçã®ãã¯ãã«ã¹ãã¬ãŒãžã匷å¶ããŸãã
åœéçãªäœ¿çšäŸïŒã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ã¯ãç»ååã蟌ã¿ã«2ã€ã®ç°ãªãã¢ãã«ã䜿çšããŠããŸãã1ã€ã¯è£œåã®é¡äŒŒæ§çšïŒäŸïŒ1024Dãfloat32ãæ£èŠåæžã¿ïŒããã1ã€ã¯ãã©ã³ãèªèçšïŒäŸïŒ256Dãfloat32ãæ£èŠåãããŠããŸããïŒã§ããããããã®åå®å
šãªã¹ããŒããæã€2ã€ã®ç°ãªãã³ã¬ã¯ã·ã§ã³ãäœæããããšã«ããããã©ãããã©ãŒã ã¯ã補åã®é¡äŒŒæ§ã«é¢ããæ€çŽ¢ã¯ãšãªãæ£ããã€ã³ããã¯ã¹ãšã¡ããªãã¯ã䜿çšãããã©ã³ãèªèã¯ãšãªãå°çšã®ã€ã³ããã¯ã¹ã䜿çšããäº€å·®æ±æãšããã©ãŒãã³ã¹ã®åé¡ãé²ãããšãä¿èšŒããŸãã
5. ã¡ã¿ããŒã¿åæå®
ãã¯ãã«èªäœãè¶ ããŠããããã«é¢é£ä»ããããã¡ã¿ããŒã¿ãåå®å šæ§ããã¡ãªãããåŸãŸãã
- å®çŸ©æžã¿ã®åïŒãŠãŒã¶ãŒãã¡ã¿ããŒã¿ãã£ãŒã«ãã®åïŒäŸïŒ
stringãintegerãfloatãbooleanãtimestampãarrayãobjectïŒãå®çŸ©ã§ããããã«ããŸãã - ã€ã³ããã¯ã¹äœæãšãã£ã«ã¿ãªã³ã°ïŒåä»ãã¡ã¿ããŒã¿ã䜿çšãããšãå¹ççãªãã£ã«ã¿ãªã³ã°ãšãã€ããªããæ€çŽ¢ïŒãã¯ãã«æ€çŽ¢ãšã¡ã¿ããŒã¿ã«åºã¥ããã£ã«ã¿ãªã³ã°ã®çµã¿åããïŒãå¯èœã«ãªããŸããããšãã°ãç¹å®ã®äŸ¡æ Œåž¯å
ã®é¡äŒŒè£œåã®ã¿ãæ€çŽ¢ããïŒ
price: floatãcurrency: stringïŒããšã¯ãããä¿¡é Œæ§ãé«ãããã©ãŒãã³ã¹ãåäžããŸãã - ããŒã¿æ€èšŒïŒã¡ã¿ããŒã¿ãäºæ³ããã圢åŒã«æºæ ããŠããããšãä¿èšŒããŸãïŒäŸïŒ
timestampãã£ãŒã«ããå®éã«æå¹ãªæ¥ä»æå»åœ¢åŒã§ããããšãä¿èšŒããŸãïŒã
6. ã€ã³ããã¯ã¹äœæãšã¯ãšãªã«ãããåå®å šæ§
åå®å šæ§ã¯ãããŒã¿ã«å¯ŸããŠå®è¡ãããæäœã«æ¡åŒµãããå¿ èŠããããŸãã
- ã€ã³ããã¯ã¹ã®äºææ§ïŒã€ã³ããã¯ã¹äœæã¢ã«ãŽãªãºã ã«ã¯ããã¯ãã«åã«åºã¥ããŠç¹å®ã®èŠä»¶ãŸãã¯æé©åãããããšããããããŸãïŒäŸïŒHNSWã®ããã©ãŒãã³ã¹ç¹æ§ã¯ã
float64ãšfloat32ã§ãããã«ç°ãªãå ŽåããããŸãïŒãåå®å šæ§ã¯ãéžæãããã€ã³ããã¯ã¹äœææŠç¥ãé©åã§ããããšãä¿èšŒããŸãã - ã¯ãšãªãã¯ãã«ã®æ€èšŒïŒãŠãŒã¶ãŒãé¡äŒŒåºŠæ€çŽ¢ã®ã¯ãšãªãã¯ãã«ãéä¿¡ãããšãããŒã¿ããŒã¹ã¯ã¿ãŒã²ããã³ã¬ã¯ã·ã§ã³ã®ã¹ããŒãã«å¯ŸããŠæ€èšŒããå¿ èŠããããŸããæ¬¡å ãŸãã¯dtypeãééã£ãŠããã¯ãšãªãã¯ãã«ã¯ãæç¢ºãªãšã©ãŒã¡ãã»ãŒãžã§æåŠãããå¿ èŠããããŸãã
- ã¡ããªãã¯ã®äžè²«æ§ïŒé¡äŒŒåºŠã¡ããªãã¯ã®éžæã¯ããã¯ãã«ã®ããããã£ïŒç¹ã«æ£èŠåïŒãšäžèŽããå¿ èŠããããŸããåå®å šãªã·ã¹ãã ã¯ãã¡ããªãã¯ã¿ã€ããäžèŽããªãããšã匷å¶ãŸãã¯èŠåã§ããŸãã
7. ããã°ã©ãã³ã°èšèªãšã®çµ±å
ãã¯ãã«ããŒã¿ããŒã¹ã®åå®å šãªæ§è³ªã¯ãã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã«åæ ãããå¿ èŠããããŸãã
- èšèªã¬ãã«ã®åïŒPythonãJavaãGoãTypeScriptãªã©ã®èšèªã®ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã¯ããããã®åãå
¬éããå¿
èŠããããŸããããšãã°ãPythonã§ã¯ã
dimensions: intãdtype: DtypeEnumãnormalize: boolãæã€VectorConfigãªããžã§ã¯ããããå ŽåããããŸãã - ã³ã³ãã€ã«æã®ãã§ãã¯ïŒéçã«åä»ããããèšèªïŒJavaãGoãTypeScriptïŒã®å Žåãããã«ããã³ã³ãã€ã«æã®ãã§ãã¯ã«ã€ãªãããã¢ããªã±ãŒã·ã§ã³ã®å®è¡åã«ãšã©ãŒããã£ããã§ããŸãã
- æç¢ºãªãšã©ãŒã¡ãã»ãŒãžïŒã©ã³ã¿ã€ã ãšã©ãŒãçºçããå ŽåïŒããšãã°ãäžèŽããªããã¯ãã«ãæ¿å ¥ããããšããå ŽåïŒããšã©ãŒã¡ãã»ãŒãžã¯åã®äžäžèŽã«ã€ããŠæç€ºçã§ãããéçºè ããœãªã¥ãŒã·ã§ã³ã«å°ãå¿ èŠããããŸãã
åå®å šæ§ããµããŒãããããŒã«ãšãã¯ãããžãŒ
åå®å šæ§ã®æŠå¿µã¯æ³šç®ãéããŠããŸãããæ¢åã®å€ãã®ãã¯ãã«ããŒã¿ããŒã¹ã¯ããããã®æ©èœãçµã¿èŸŒãããã«é²åããŠããŸããéçºè ã¯ãåã蟌ã¿ã®ã¹ããŒãå®çŸ©ãšå匷å¶ãæç€ºçã«ãµããŒãããããŒã¿ããŒã¹ãæ¢ãå¿ èŠããããŸãã
é²åãããã¯ãã«ããŒã¿ããŒã¹ïŒ
- PineconeïŒãã¯ãã«æ¬¡å ã®èšå®ãæäŸããã€ã³ããã¯ã¹å ã®äžè²«æ§ã匷å¶ã§ããŸãã
- WeaviateïŒåå®å šæ§ã«è²¢ç®ãããã¯ãã«ããããã£ãå«ãããªããžã§ã¯ãã®ã¹ããŒãå®çŸ©ããµããŒãããŸãã
- MilvusïŒå ç¢ãªã¹ããŒãå®çŸ©æ©èœãæäŸãããŠãŒã¶ãŒããã¯ãã«ãã£ãŒã«ãã®ããŒã¿åãšæ¬¡å ãæå®ã§ããããã«ããŸãã
- QdrantïŒæ¬¡å ãè·é¢ã¡ããªãã¯ãªã©ã®ãã¯ãã«ãã©ã¡ãŒã¿ãŒã®å®çŸ©ãå¯èœã«ããå匷å¶ã«è²¢ç®ããŸãã
- ChromaDBïŒäœ¿ãããããšéçºè ã®ãšã¯ã¹ããªãšã³ã¹ã«éç¹ã眮ããŠãããã³ã¬ã¯ã·ã§ã³å ã®äžè²«ãããã¯ãã«æ¬¡å ãæé»çã«åŒ·å¶ããŸãã
- pgvectorïŒPostgreSQLæ¡åŒµæ©èœïŒïŒPostgreSQLã®åŒ·åãªåä»ããæŽ»çšããããŒãã«ã¹ããŒãå ã§ãã¯ãã«ã®æ¬¡å ãšåã管çã§ããŸãã
ãã¯ãã«ããŒã¿ããŒã¹ãè©äŸ¡ããå Žåã¯ãã¹ããŒãå®çŸ©ãããŒã¿åãµããŒããããã³ãã¯ãã«ããŒã¿ã®æ€èšŒã¡ã«ããºã ã«é¢ããããã¥ã¡ã³ãã調ã¹ãããšãéèŠã§ãã
課é¡ãšä»åŸã®æ¹åæ§
æç¢ºãªå©ç¹ãããã«ããããããããã¯ãã«ããŒã¿ããŒã¹ã§åå®å šæ§ãå®çŸããã³ç¶æããããšã¯ã課é¡ããªãããã§ã¯ãããŸããã
- ã¬ã¬ã·ãŒã·ã¹ãã ïŒæ¢åã®å€ãã®ãã¯ãã«ããŒã¿ããŒã¹ã¯ãæè»æ§ãåªå ããŠæ§ç¯ãããŠãããå³å¯ãªåå®å šæ§ãåŸä»ãããã®ã¯è€éã«ãªãå¯èœæ§ããããŸãã
- ããã©ãŒãã³ã¹ãªãŒããŒãããïŒãªã¢ã«ã¿ã€ã æ€èšŒãšãïŒãŠãŒã¶ãŒãåŠçããªãå ŽåïŒãªã³ã¶ãã©ã€ã®å€æã®å¯èœæ§ã«ãããããã©ãŒãã³ã¹ãªãŒããŒããããçºçããå¯èœæ§ããããŸãã
- åçãªããŒã¿ã©ã³ãã¹ã±ãŒãïŒAIã©ã³ãã¹ã±ãŒãã¯åžžã«é²åããŠãããæ°ããåã蟌ã¿ã¢ãã«ãšææ³ãé »ç¹ã«ç»å ŽããŠããŸããããŒã¿ããŒã¹ã¯é©å¿å¯èœã§ããå¿ èŠããããŸãã
- ãŠãŒã¶ãŒæè²ïŒéçºè ã¯ãåã蟌ã¿ã®åã¹ããŒããå®çŸ©ããŠéµå®ããããšã®éèŠæ§ãçè§£ããå¿ èŠããããŸãã
ä»åŸã®ãã¬ã³ãïŒ
- èªåã¹ããŒãæšè«ïŒAIããŒã¿ããŒã¹ã¯ãåã蟌ãŸããããŒã¿ã«åºã¥ããŠã¹ããŒãã®ã€ã³ããªãžã§ã³ããªææ¡ãæäŸããéçºè ãæ¯æŽããå¯èœæ§ããããŸãã
- é«åºŠãªåã·ã¹ãã ïŒåºæ¬çãªæ¬¡å ãšdtypeãè¶ ããŠãå°æ¥ã®ã·ã¹ãã ã¯ããã¯ãã«ååžãŸãã¯åã蟌ã¿éã®é¢ä¿ã«é¢ããå¶çŽãå«ããããè€éãªåå®çŸ©ããµããŒãããå¯èœæ§ããããŸãã
- ã³ã¬ã¯ã·ã§ã³éã®äºææ§ã¬ã€ã€ãŒïŒå¿ èŠãªãªã³ã¶ãã©ã€å€æãé©åã«å®è¡ããªãããç°ãªããã¯ãã«åãæã€ã³ã¬ã¯ã·ã§ã³éã§ã¯ãšãªãå®è¡ã§ããããŒã«ãŸãã¯æ©èœïŒãŠãŒã¶ãŒã®åæãšæœåšçãªç²ŸåºŠã®ãã¬ãŒããªãã®æç¢ºãªè¡šç€ºä»ãïŒã
- MLãã¬ãŒã ã¯ãŒã¯ãšã®çµ±åïŒMLãã¬ãŒã ã¯ãŒã¯ããã¯ãã«åæ å ±ãããŒã¿ããŒã¹ã«çŽæ¥äŒéã§ãããããæ·±ãçµ±åãã¢ãã«ã®åºåããã¹ãã¬ãŒãžãŸã§ã®äžè²«æ§ã確ä¿ããŸãã
- ããé«åºŠãªéåå管çïŒéååãããåã蟌ã¿ã䜿çšããŠã粟床ãšããã©ãŒãã³ã¹ã®ãã¬ãŒããªãã管çããããã®ããåªããããŒã«ãåå®å šæ§ã®ã¬ãã«ãç¶æããªããã
éçºè ããã³ã¢ãŒããã¯ãåãã®å®è¡å¯èœãªã€ã³ãµã€ã
åå®å šæ§ã广çã«æŽ»çšããã«ã¯ïŒ
- åãèŸŒã¿æŠç¥ãæ©æã«å®çŸ©ããïŒãã¯ãã«ããŒã¿ããŒã¹ãéžæããããããŒã¿åã蟌ã¿ãã€ãã©ã€ã³ãèšèšããåã«ã䜿çšããåã蟌ã¿ã¢ãã«ãšãã®åºæã®ããããã£ïŒæ¬¡å ãdtypeãæ£èŠåïŒã決å®ããŸãã
- ç°ãªãåã蟌ã¿ã¿ã€ãã«åå¥ã®ã³ã¬ã¯ã·ã§ã³ãäœæããïŒç°ãªããã¯ãã«ç¹æ§ãæã€è€æ°ã®ã¢ãã«ã䜿çšããŠããå Žåã¯ããã¯ãã«ããŒã¿ããŒã¹ã«ã¢ãã«ããšã«åå¥ã®ã³ã¬ã¯ã·ã§ã³ãäœæããŸããããã¯ãåå®å šæ§ã匷å¶ããæã广çãªæ¹æ³ã§ãã
- ã¹ããŒãå®çŸ©æ©èœãå©çšããïŒéžæãããã¯ãã«ããŒã¿ããŒã¹ããµããŒãããŠããå Žåã¯ãåã³ã¬ã¯ã·ã§ã³ã®ã¹ããŒãïŒæ¬¡å ãdtypeãæ£èŠåïŒãæç€ºçã«å®çŸ©ããŸããããã¯ãããŒã¿æŽåæ§ã®å¥çŽãšããŠæ©èœããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®æ€èšŒãå®è£ ããïŒããŒã¿ããŒã¹ãåã匷å¶ããŠããéãããŒã¿ããŒã¹ã«éä¿¡ãã*åã«*ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã§åã蟌ã¿ãæ€èšŒããããšããå§ãããŸããããã«ãããé²åŸ¡ã®è¿œå ã¬ã€ã€ãŒãšããæç¢ºãªãšã©ãŒã¬ããŒããæäŸãããŸãã
- é¡äŒŒåºŠã¡ããªãã¯ã®èŠä»¶ãçè§£ããïŒéžæããé¡äŒŒåºŠã¡ããªãã¯ïŒäŸïŒã³ãµã€ã³ïŒãæ£èŠåããããã¯ãã«ãæ³å®ããŠãããã©ãããèªèããããã«å¿ããŠããŒã¿ããŒã¹ã¹ããŒããšåã蟌ã¿ãæ§æããŸãã
- ããŒã¿åãææžåããïŒç¹ã«å€§èŠæš¡ãŸãã¯åæ£åã®ããŒã ã§ã¯ãåã³ã¬ã¯ã·ã§ã³ã«ä¿åãããŠããåã蟌ã¿ã®åã«é¢ããæç¢ºãªããã¥ã¡ã³ããç¶æããŸãã
- 匷åãªåãµããŒããåããããŒã¿ããŒã¹ãéžæããïŒæ°ãããã¯ãã«ããŒã¿ããŒã¹ãè©äŸ¡ããå Žåã¯ãå ç¢ãªã¹ããŒãå®çŸ©ãåæ€èšŒãããã³åä»ãã¡ã¿ããŒã¿æ©èœãæäŸãããã®ãåªå ããŸãã
çµè«
åå®å šãªãã¯ãã«ããŒã¿ããŒã¹ã¯åãªãæ©èœã§ã¯ãããŸãããå ç¢ã§ã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ã®é«ãAIã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äžå¯æ¬ ã«ãªãã€ã€ãããŸãããããã®ããŒã¿ããŒã¹ã¯ãåã蟌ã¿ã¹ãã¬ãŒãžã¿ã€ããç¹ã«æ¬¡å ãšããŒã¿ç²ŸåºŠã«é¢ããå³å¯ãªå¶çŽã匷å¶ããããšã«ãããé倧ãªã¯ã©ã¹ã®ãšã©ãŒãæé€ããéçºãç°¡çŽ åããããã©ãŒãã³ã¹ãæé©åããŸããAIãšã³ã·ã¹ãã ãæçããã«ã€ããŠãããŒã¿æŽåæ§ãšäºæž¬å¯èœãªåäœã®éèŠãé«ãŸãã ãã§ããåã蟌ã¿ã¹ãã¬ãŒãžã§åå®å šæ§ãæ¡çšããããšã¯ããã¯ãã«ããŒã¿ããŒã¹ã®å¯èœæ§ãæå€§éã«åŒãåºãããããã匷åããAIãœãªã¥ãŒã·ã§ã³ã®ä¿¡é Œæ§ã確ä¿ããããã®éèŠãªã¹ãããã§ããæ¬¡äžä»£ã®ã€ã³ããªãžã§ã³ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã°ããŒãã«ããŒã ã«ãšã£ãŠããã¯ãã«ããŒã¿ã®åå®å šãªãã©ã¯ãã£ã¹ãçè§£ããŠå®è£ ããããšã¯ãå®å®æ§ã粟床ãããã³éçºè ã®å¹çã«é åœãããããæè³ã§ãã